import request from '@/config/axios'

// 跨境电商订单支付 VO
export interface OrderPaymentVO {
  id: number // 支付编号
  orderId: number // 订单编号
  orderNo: string // 订单号
  paymentNo: string // 支付单号
  platformPaymentId: string // 平台支付ID
  paymentMethod: string // 支付方式
  paymentChannel: string // 支付渠道
  paymentProvider: string // 支付服务商
  paymentType: number // 支付类型（1全额支付 2部分支付 3分期支付）
  paymentAmount: number // 支付金额
  currencyCode: string // 支付货币
  exchangeRate: number // 汇率
  baseAmount: number // 基础货币金额
  feeAmount: number // 手续费
  gatewayFee: number // 网关费用
  processingFee: number // 处理费用
  netAmount: number // 净收金额
  paymentStatus: number // 支付状态（10待支付 20支付中 30支付成功 40支付失败 50已退款 60部分退款）
  transactionId: string // 交易ID
  authorizationCode: string // 授权码
  referenceNo: string // 参考号
  paymentTime: Date // 支付时间
  expireTime: Date // 过期时间
  callbackTime: Date // 回调时间
  callbackData: string // 回调数据JSON
  riskScore: number // 风险评分
  riskLevel: number // 风险等级（1低 2中 3高）
  fraudCheckResult: string // 反欺诈检查结果JSON
  paymentInfo: string // 支付信息JSON
  errorCode: string // 错误代码
  errorMessage: string // 错误信息
  retryCount: number // 重试次数
  remark: string // 备注
}

// 跨境电商订单支付 API
export const OrderPaymentApi = {
  // 查询跨境电商订单支付分页
  getOrderPaymentPage: async (params: any) => {
    return await request.get({ url: `/crossborder/order-payment/page`, params })
  },

  // 查询跨境电商订单支付详情
  getOrderPayment: async (id: number) => {
    return await request.get({ url: `/crossborder/order-payment/get?id=` + id })
  },

  // 新增跨境电商订单支付
  createOrderPayment: async (data: OrderPaymentVO) => {
    return await request.post({ url: `/crossborder/order-payment/create`, data })
  },

  // 修改跨境电商订单支付
  updateOrderPayment: async (data: OrderPaymentVO) => {
    return await request.put({ url: `/crossborder/order-payment/update`, data })
  },

  // 删除跨境电商订单支付
  deleteOrderPayment: async (id: number) => {
    return await request.delete({ url: `/crossborder/order-payment/delete?id=` + id })
  },

  // 导出跨境电商订单支付 Excel
  exportOrderPayment: async (params) => {
    return await request.download({ url: `/crossborder/order-payment/export-excel`, params })
  },
}